<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: xref.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">xref.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions that deal with cross-references. </p>
<p>There are 2 types of xrefs: CODE and DATA references. All xrefs are kept in the bTree except ordinary execution flow to the next instruction. Ordinary execution flow to the next instruction is kept in flags (see <a class="el" href="bytes_8hpp.html" title="Contains functions that deal with individual byte characteristics. ">bytes.hpp</a>)</p>
<p>The source address of a cross-reference must be an item head (is_head) or a structure member id.</p>
<p>Cross-references are automatically sorted. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structxrefblk__t.html">xrefblk_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure to enumerate all xrefs.  <a href="structxrefblk__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga36716f163bdee48c9e94ff947deb7d65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> char <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xref__type.html#ga36716f163bdee48c9e94ff947deb7d65">xrefchar</a> (char xrtype)</td></tr>
<tr class="memdesc:ga36716f163bdee48c9e94ff947deb7d65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get character describing the xref type.  <a href="group__xref__type.html#ga36716f163bdee48c9e94ff947deb7d65">More...</a><br /></td></tr>
<tr class="separator:ga36716f163bdee48c9e94ff947deb7d65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c1bafdc568fa4a0fb6b01b2f548c4bb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a4c1bafdc568fa4a0fb6b01b2f548c4bb">add_cref</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <a class="el" href="group__xref__type.html#ga44e2b79869a9595bbe6265ff2026aa98">cref_t</a> type)</td></tr>
<tr class="memdesc:a4c1bafdc568fa4a0fb6b01b2f548c4bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a code cross-reference.  <a href="#a4c1bafdc568fa4a0fb6b01b2f548c4bb">More...</a><br /></td></tr>
<tr class="separator:a4c1bafdc568fa4a0fb6b01b2f548c4bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0308572f416f2c7e230be96bdfe2d8d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a0308572f416f2c7e230be96bdfe2d8d2">del_cref</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, bool expand)</td></tr>
<tr class="memdesc:a0308572f416f2c7e230be96bdfe2d8d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a code cross-reference.  <a href="#a0308572f416f2c7e230be96bdfe2d8d2">More...</a><br /></td></tr>
<tr class="separator:a0308572f416f2c7e230be96bdfe2d8d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a190d5d49c093bcf5b11f79c558cddad5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a190d5d49c093bcf5b11f79c558cddad5">add_dref</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <a class="el" href="group__xref__type.html#ga78aab6d0d6bd9cb4904bbdbb5ac4fa71">dref_t</a> type)</td></tr>
<tr class="memdesc:a190d5d49c093bcf5b11f79c558cddad5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a data cross-reference.  <a href="#a190d5d49c093bcf5b11f79c558cddad5">More...</a><br /></td></tr>
<tr class="separator:a190d5d49c093bcf5b11f79c558cddad5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94800311ae8f9c13107722c7ff09ebdf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a94800311ae8f9c13107722c7ff09ebdf">del_dref</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to)</td></tr>
<tr class="memdesc:a94800311ae8f9c13107722c7ff09ebdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete a data cross-reference.  <a href="#a94800311ae8f9c13107722c7ff09ebdf">More...</a><br /></td></tr>
<tr class="separator:a94800311ae8f9c13107722c7ff09ebdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6dfca5b8e523b3f662eac90601d7f8cf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a6dfca5b8e523b3f662eac90601d7f8cf">get_first_dref_from</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from)</td></tr>
<tr class="memdesc:a6dfca5b8e523b3f662eac90601d7f8cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get first data referenced from the specified address.  <a href="#a6dfca5b8e523b3f662eac90601d7f8cf">More...</a><br /></td></tr>
<tr class="separator:a6dfca5b8e523b3f662eac90601d7f8cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa89df1822a8e746060260d6dc9a31f08"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#aa89df1822a8e746060260d6dc9a31f08">get_next_dref_from</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> current)</td></tr>
<tr class="memdesc:aa89df1822a8e746060260d6dc9a31f08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next data referenced from the specified address.  <a href="#aa89df1822a8e746060260d6dc9a31f08">More...</a><br /></td></tr>
<tr class="separator:aa89df1822a8e746060260d6dc9a31f08"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a9f590dbed2d6fa848ce7cfcf8a5c81"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a8a9f590dbed2d6fa848ce7cfcf8a5c81">get_first_dref_to</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to)</td></tr>
<tr class="memdesc:a8a9f590dbed2d6fa848ce7cfcf8a5c81"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get address of instruction/data referencing to the specified data.  <a href="#a8a9f590dbed2d6fa848ce7cfcf8a5c81">More...</a><br /></td></tr>
<tr class="separator:a8a9f590dbed2d6fa848ce7cfcf8a5c81"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f4f2ecbe01c8a2ee156f8afd82051c1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a5f4f2ecbe01c8a2ee156f8afd82051c1">get_next_dref_to</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> current)</td></tr>
<tr class="memdesc:a5f4f2ecbe01c8a2ee156f8afd82051c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get address of instruction/data referencing to the specified data.  <a href="#a5f4f2ecbe01c8a2ee156f8afd82051c1">More...</a><br /></td></tr>
<tr class="separator:a5f4f2ecbe01c8a2ee156f8afd82051c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a8231f39cb2a259ec7e6625683537a2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a3a8231f39cb2a259ec7e6625683537a2">get_first_cref_from</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from)</td></tr>
<tr class="memdesc:a3a8231f39cb2a259ec7e6625683537a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get first instruction referenced from the specified instruction.  <a href="#a3a8231f39cb2a259ec7e6625683537a2">More...</a><br /></td></tr>
<tr class="separator:a3a8231f39cb2a259ec7e6625683537a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e9dd723562268c3db3927e5c711c8e7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a2e9dd723562268c3db3927e5c711c8e7">get_next_cref_from</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> current)</td></tr>
<tr class="memdesc:a2e9dd723562268c3db3927e5c711c8e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next instruction referenced from the specified instruction.  <a href="#a2e9dd723562268c3db3927e5c711c8e7">More...</a><br /></td></tr>
<tr class="separator:a2e9dd723562268c3db3927e5c711c8e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45e71cf022fc4891e2d204efd19b722a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a45e71cf022fc4891e2d204efd19b722a">get_first_cref_to</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to)</td></tr>
<tr class="memdesc:a45e71cf022fc4891e2d204efd19b722a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get first instruction referencing to the specified instruction.  <a href="#a45e71cf022fc4891e2d204efd19b722a">More...</a><br /></td></tr>
<tr class="separator:a45e71cf022fc4891e2d204efd19b722a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4ee8115b42b96e131e2be4d84c33df3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#af4ee8115b42b96e131e2be4d84c33df3">get_next_cref_to</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> current)</td></tr>
<tr class="memdesc:af4ee8115b42b96e131e2be4d84c33df3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get next instruction referencing to the specified instruction.  <a href="#af4ee8115b42b96e131e2be4d84c33df3">More...</a><br /></td></tr>
<tr class="separator:af4ee8115b42b96e131e2be4d84c33df3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a280da7acb2738d47c75a3187dbf1937a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a280da7acb2738d47c75a3187dbf1937a"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#a280da7acb2738d47c75a3187dbf1937a">has_external_refs</a> (<a class="el" href="classfunc__t.html">func_t</a> *pfn, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:a280da7acb2738d47c75a3187dbf1937a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has a location external to the function references? <br /></td></tr>
<tr class="separator:a280da7acb2738d47c75a3187dbf1937a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Helper functions</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Should not be called directly! </p>
</div></td></tr>
<tr class="memitem:ae35d6f9c4b86ed837371b799dda91a87"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae35d6f9c4b86ed837371b799dda91a87"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>xrefblk_t_first_from</b> (<a class="el" href="structxrefblk__t.html">xrefblk_t</a> *, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, int flags)</td></tr>
<tr class="separator:ae35d6f9c4b86ed837371b799dda91a87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aab85c6414e7834a0de014f3e40543f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2aab85c6414e7834a0de014f3e40543f"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>xrefblk_t_next_from</b> (<a class="el" href="structxrefblk__t.html">xrefblk_t</a> *)</td></tr>
<tr class="separator:a2aab85c6414e7834a0de014f3e40543f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a855e5e9b045d5439056f8dff0096488c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a855e5e9b045d5439056f8dff0096488c"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>xrefblk_t_first_to</b> (<a class="el" href="structxrefblk__t.html">xrefblk_t</a> *, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, int flags)</td></tr>
<tr class="separator:a855e5e9b045d5439056f8dff0096488c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a046801f0f67a47bb90d36c97afc0085c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a046801f0f67a47bb90d36c97afc0085c"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>xrefblk_t_next_to</b> (<a class="el" href="structxrefblk__t.html">xrefblk_t</a> *)</td></tr>
<tr class="separator:a046801f0f67a47bb90d36c97afc0085c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Far code references</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>The following functions are similar to get_{first|next}_cref_{from|to} functions.</p>
<p>The only difference is that they don't take into account ordinary flow of execution. Only jump and call xrefs are returned. (fcref means "far code reference") </p>
</div></td></tr>
<tr class="memitem:ab750c5574496463b83af188ffbdd5194"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab750c5574496463b83af188ffbdd5194"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_first_fcref_from</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from)</td></tr>
<tr class="separator:ab750c5574496463b83af188ffbdd5194"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1fe22ae52ca040d90ba0c5a768d4137"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad1fe22ae52ca040d90ba0c5a768d4137"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_next_fcref_from</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> from, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> current)</td></tr>
<tr class="separator:ad1fe22ae52ca040d90ba0c5a768d4137"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66d30ab3c98e2004d56eff2cfd30962a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66d30ab3c98e2004d56eff2cfd30962a"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_first_fcref_to</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to)</td></tr>
<tr class="separator:a66d30ab3c98e2004d56eff2cfd30962a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7759fa43f8065eea80ed997efbaab0a5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7759fa43f8065eea80ed997efbaab0a5"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><b>get_next_fcref_to</b> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> to, <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> current)</td></tr>
<tr class="separator:a7759fa43f8065eea80ed997efbaab0a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga6e9336e5f35291b76d7ffb966fb11269"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f___t.html#ga6e9336e5f35291b76d7ffb966fb11269">XREF_USER</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="memdesc:ga6e9336e5f35291b76d7ffb966fb11269"><td class="mdescLeft">&#160;</td><td class="mdescRight">User specified xref.  <a href="group___x_r_e_f___t.html#ga6e9336e5f35291b76d7ffb966fb11269">More...</a><br /></td></tr>
<tr class="separator:ga6e9336e5f35291b76d7ffb966fb11269"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f6b85b621d20dee6cfcc6652d15d969"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5f6b85b621d20dee6cfcc6652d15d969"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f___t.html#ga5f6b85b621d20dee6cfcc6652d15d969">XREF_TAIL</a>&#160;&#160;&#160;0x40</td></tr>
<tr class="memdesc:ga5f6b85b621d20dee6cfcc6652d15d969"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to tail byte in extrn symbols. <br /></td></tr>
<tr class="separator:ga5f6b85b621d20dee6cfcc6652d15d969"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b1b5743ee6d5808b075357fea6b94c2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1b1b5743ee6d5808b075357fea6b94c2"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f___t.html#ga1b1b5743ee6d5808b075357fea6b94c2">XREF_BASE</a>&#160;&#160;&#160;0x80</td></tr>
<tr class="memdesc:ga1b1b5743ee6d5808b075357fea6b94c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference to the base part of an offset. <br /></td></tr>
<tr class="separator:ga1b1b5743ee6d5808b075357fea6b94c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4f7eac7c9fd9c04dc74655114419170"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf4f7eac7c9fd9c04dc74655114419170"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f___t.html#gaf4f7eac7c9fd9c04dc74655114419170">XREF_MASK</a>&#160;&#160;&#160;0x1F</td></tr>
<tr class="memdesc:gaf4f7eac7c9fd9c04dc74655114419170"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask to get xref type. <br /></td></tr>
<tr class="separator:gaf4f7eac7c9fd9c04dc74655114419170"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab518ccb7e04e211486eaf7a24751200c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f___t.html#gab518ccb7e04e211486eaf7a24751200c">XREF_PASTEND</a>&#160;&#160;&#160;0x100</td></tr>
<tr class="memdesc:gab518ccb7e04e211486eaf7a24751200c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reference is past item.  <a href="group___x_r_e_f___t.html#gab518ccb7e04e211486eaf7a24751200c">More...</a><br /></td></tr>
<tr class="separator:gab518ccb7e04e211486eaf7a24751200c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7842c679887f4701589ec71977461bc3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7842c679887f4701589ec71977461bc3"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f__.html#ga7842c679887f4701589ec71977461bc3">XREF_ALL</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:ga7842c679887f4701589ec71977461bc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">return all references <br /></td></tr>
<tr class="separator:ga7842c679887f4701589ec71977461bc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga02ef7605bfa7449191eaed4442af7bde"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga02ef7605bfa7449191eaed4442af7bde"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f__.html#ga02ef7605bfa7449191eaed4442af7bde">XREF_FAR</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:ga02ef7605bfa7449191eaed4442af7bde"><td class="mdescLeft">&#160;</td><td class="mdescRight">don't return ordinary flow xrefs <br /></td></tr>
<tr class="separator:ga02ef7605bfa7449191eaed4442af7bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0aebd80585c10650d16fd59ea35ba27d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0aebd80585c10650d16fd59ea35ba27d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___x_r_e_f__.html#ga0aebd80585c10650d16fd59ea35ba27d">XREF_DATA</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ga0aebd80585c10650d16fd59ea35ba27d"><td class="mdescLeft">&#160;</td><td class="mdescRight">return data references only <br /></td></tr>
<tr class="separator:ga0aebd80585c10650d16fd59ea35ba27d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga44e2b79869a9595bbe6265ff2026aa98"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xref__type.html#ga44e2b79869a9595bbe6265ff2026aa98">cref_t</a> { <br />
&#160;&#160;<a class="el" href="group__xref__type.html#gga44e2b79869a9595bbe6265ff2026aa98a6627e6d9db50f3625e888d466ab84ca3">fl_U</a>, 
<a class="el" href="group__xref__type.html#gga44e2b79869a9595bbe6265ff2026aa98ac029a58e2aa63c79f31c29e61041bdd3">fl_CF</a> = 16, 
<a class="el" href="group__xref__type.html#gga44e2b79869a9595bbe6265ff2026aa98ab5e46d23c9228eef4b1155b4cc23768d">fl_CN</a>, 
<a class="el" href="group__xref__type.html#gga44e2b79869a9595bbe6265ff2026aa98aa48a431ce68718619dedb6ba8749579c">fl_JF</a>, 
<br />
&#160;&#160;<a class="el" href="group__xref__type.html#gga44e2b79869a9595bbe6265ff2026aa98a007fe7f90598217133498c08591f7bab">fl_JN</a>, 
<a class="el" href="group__xref__type.html#gga44e2b79869a9595bbe6265ff2026aa98ac202ffb980cd5146ae5011209d4c113f">fl_USobsolete</a>, 
<a class="el" href="group__xref__type.html#gga44e2b79869a9595bbe6265ff2026aa98a75869336a10857ebd2ee498b944a5f2f">fl_F</a>
<br />
 }</td></tr>
<tr class="memdesc:ga44e2b79869a9595bbe6265ff2026aa98"><td class="mdescLeft">&#160;</td><td class="mdescRight">CODE xref types.  <a href="group__xref__type.html#ga44e2b79869a9595bbe6265ff2026aa98">More...</a><br /></td></tr>
<tr class="separator:ga44e2b79869a9595bbe6265ff2026aa98"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga78aab6d0d6bd9cb4904bbdbb5ac4fa71"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xref__type.html#ga78aab6d0d6bd9cb4904bbdbb5ac4fa71">dref_t</a> { <br />
&#160;&#160;<a class="el" href="group__xref__type.html#gga78aab6d0d6bd9cb4904bbdbb5ac4fa71a69736399da1e73ad9d0140a666a58527">dr_U</a>, 
<a class="el" href="group__xref__type.html#gga78aab6d0d6bd9cb4904bbdbb5ac4fa71a2f2dbd4d9d446cb18dbfcb091dda8681">dr_O</a>, 
<a class="el" href="group__xref__type.html#gga78aab6d0d6bd9cb4904bbdbb5ac4fa71a4249e6b7ca4e03c6179ca8c5ed1afb37">dr_W</a>, 
<a class="el" href="group__xref__type.html#gga78aab6d0d6bd9cb4904bbdbb5ac4fa71ac0aa5db1ff61115c61128b0c78a92ff4">dr_R</a>, 
<br />
&#160;&#160;<a class="el" href="group__xref__type.html#gga78aab6d0d6bd9cb4904bbdbb5ac4fa71add0f68bf2d83279e94d6b2d66156d6a4">dr_T</a>, 
<a class="el" href="group__xref__type.html#gga78aab6d0d6bd9cb4904bbdbb5ac4fa71a57d1a0edaf907d264ec8e97b9b9ba36c">dr_I</a>
<br />
 }</td></tr>
<tr class="memdesc:ga78aab6d0d6bd9cb4904bbdbb5ac4fa71"><td class="mdescLeft">&#160;</td><td class="mdescRight">DATA xref types.  <a href="group__xref__type.html#ga78aab6d0d6bd9cb4904bbdbb5ac4fa71">More...</a><br /></td></tr>
<tr class="separator:ga78aab6d0d6bd9cb4904bbdbb5ac4fa71"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:aec749ed8562e42666298a8ad0a9d29be"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be">lastXR</a></td></tr>
<tr class="memdesc:aec749ed8562e42666298a8ad0a9d29be"><td class="mdescLeft">&#160;</td><td class="mdescRight">This variable contains the type of the last xref returned by the following functions.  <a href="#aec749ed8562e42666298a8ad0a9d29be">More...</a><br /></td></tr>
<tr class="separator:aec749ed8562e42666298a8ad0a9d29be"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a4c1bafdc568fa4a0fb6b01b2f548c4bb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> add_cref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__xref__type.html#ga44e2b79869a9595bbe6265ff2026aa98">cref_t</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a code cross-reference. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction </td></tr>
    <tr><td class="paramname">to</td><td>linear address of referenced instruction </td></tr>
    <tr><td class="paramname">type</td><td>cross-reference type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a0308572f416f2c7e230be96bdfe2d8d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> int <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> del_cref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>expand</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete a code cross-reference. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction </td></tr>
    <tr><td class="paramname">to</td><td>linear address of referenced instruction </td></tr>
    <tr><td class="paramname">expand</td><td>policy to delete the referenced instruction<ul>
<li>1: plan to delete the referenced instruction if it has no more references.</li>
<li>0: don't delete the referenced instruction even if no more cross-references point to it </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">1</td><td>the referenced instruction will be deleted </td></tr>
    <tr><td class="paramname">0</td><td>the referenced instruction will not be deleted </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a190d5d49c093bcf5b11f79c558cddad5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> add_dref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__xref__type.html#ga78aab6d0d6bd9cb4904bbdbb5ac4fa71">dref_t</a>&#160;</td>
          <td class="paramname"><em>type</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a data cross-reference. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction or data </td></tr>
    <tr><td class="paramname">to</td><td>linear address of referenced data </td></tr>
    <tr><td class="paramname">type</td><td>cross-reference type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success (may fail if user-defined xref exists from-&gt;to) </dd></dl>

</div>
</div>
<a class="anchor" id="a94800311ae8f9c13107722c7ff09ebdf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> del_dref </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Delete a data cross-reference. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction or data </td></tr>
    <tr><td class="paramname">to</td><td>linear address of referenced data </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a6dfca5b8e523b3f662eac90601d7f8cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_first_dref_from </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get first data referenced from the specified address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction or data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>linear address of first (lowest) data referenced from the specified address. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference. Return <a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a> if the specified instruction/data doesn't reference to anything. </dd></dl>

</div>
</div>
<a class="anchor" id="aa89df1822a8e746060260d6dc9a31f08"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_next_dref_from </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>current</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get next data referenced from the specified address. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction or data </td></tr>
    <tr><td class="paramname">current</td><td>linear address of current referenced data. This value is returned by <a class="el" href="xref_8hpp.html#a6dfca5b8e523b3f662eac90601d7f8cf" title="Get first data referenced from the specified address. ">get_first_dref_from()</a> or previous call to <a class="el" href="xref_8hpp.html#aa89df1822a8e746060260d6dc9a31f08" title="Get next data referenced from the specified address. ">get_next_dref_from()</a> functions. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>linear address of next data or <a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a>. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference </dd></dl>

</div>
</div>
<a class="anchor" id="a8a9f590dbed2d6fa848ce7cfcf8a5c81"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_first_dref_to </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get address of instruction/data referencing to the specified data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">to</td><td>linear address of referencing instruction or data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a> if nobody refers to the specified data. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference. </dd></dl>

</div>
</div>
<a class="anchor" id="a5f4f2ecbe01c8a2ee156f8afd82051c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_next_dref_to </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>current</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get address of instruction/data referencing to the specified data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">to</td><td>linear address of referencing instruction or data </td></tr>
    <tr><td class="paramname">current</td><td>current linear address. This value is returned by <a class="el" href="xref_8hpp.html#a8a9f590dbed2d6fa848ce7cfcf8a5c81" title="Get address of instruction/data referencing to the specified data. ">get_first_dref_to()</a> or previous call to <a class="el" href="xref_8hpp.html#a5f4f2ecbe01c8a2ee156f8afd82051c1" title="Get address of instruction/data referencing to the specified data. ">get_next_dref_to()</a> functions. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a> if nobody refers to the specified data. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference. </dd></dl>

</div>
</div>
<a class="anchor" id="a3a8231f39cb2a259ec7e6625683537a2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_first_cref_from </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get first instruction referenced from the specified instruction. </p>
<p>If the specified instruction passes execution to the next instruction then the next instruction is returned. Otherwise the lowest referenced address is returned (remember that xrefs are kept sorted!). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>first referenced address. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference. If the specified instruction doesn't reference to other instructions then returns <a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a>. </dd></dl>

</div>
</div>
<a class="anchor" id="a2e9dd723562268c3db3927e5c711c8e7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_next_cref_from </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>current</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get next instruction referenced from the specified instruction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">from</td><td>linear address of referencing instruction </td></tr>
    <tr><td class="paramname">current</td><td>linear address of current referenced instruction This value is returned by <a class="el" href="xref_8hpp.html#a3a8231f39cb2a259ec7e6625683537a2" title="Get first instruction referenced from the specified instruction. ">get_first_cref_from()</a> or previous call to <a class="el" href="xref_8hpp.html#a2e9dd723562268c3db3927e5c711c8e7" title="Get next instruction referenced from the specified instruction. ">get_next_cref_from()</a> functions. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>next referenced address or <a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a>. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference. </dd></dl>

</div>
</div>
<a class="anchor" id="a45e71cf022fc4891e2d204efd19b722a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_first_cref_to </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get first instruction referencing to the specified instruction. </p>
<p>If the specified instruction may be executed immediately after its previous instruction then the previous instruction is returned. Otherwise the lowest referencing address is returned. (remember that xrefs are kept sorted!). </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">to</td><td>linear address of referenced instruction </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>linear address of the first referencing instruction or <a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a>. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference. </dd></dl>

</div>
</div>
<a class="anchor" id="af4ee8115b42b96e131e2be4d84c33df3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_next_cref_to </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td>
          <td class="paramname"><em>current</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get next instruction referencing to the specified instruction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">to</td><td>linear address of referenced instruction </td></tr>
    <tr><td class="paramname">current</td><td>linear address of current referenced instruction This value is returned by <a class="el" href="xref_8hpp.html#a45e71cf022fc4891e2d204efd19b722a" title="Get first instruction referencing to the specified instruction. ">get_first_cref_to()</a> or previous call to <a class="el" href="xref_8hpp.html#af4ee8115b42b96e131e2be4d84c33df3" title="Get next instruction referencing to the specified instruction. ">get_next_cref_to()</a> functions. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>linear address of the next referencing instruction or <a class="el" href="pro_8h.html#a63a7c1cde5fb0cf0d0023d55c742dd4f" title="this value is used for &#39;bad address&#39; ">BADADDR</a>. The <a class="el" href="xref_8hpp.html#aec749ed8562e42666298a8ad0a9d29be" title="This variable contains the type of the last xref returned by the following functions. ">lastXR</a> variable contains type of the reference. </dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="aec749ed8562e42666298a8ad0a9d29be"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char lastXR</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This variable contains the type of the last xref returned by the following functions. </p>
<p>It is not exported, so if you need to know the cross reference type, please use the <a class="el" href="structxrefblk__t.html" title="Structure to enumerate all xrefs. ">xrefblk_t</a> structure to enumerate the cross references. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
